home *** CD-ROM | disk | FTP | other *** search
/ Ultimedia 1 / Ultimedia 1.iso / tools / cdplayer / jukebox / jukebox.doc < prev    next >
Text File  |  1993-01-29  |  47KB  |  1,225 lines

  1.                               J U K E B O X
  2.  
  3.                      - freely distributable release -
  4.  
  5.                            PRODUCT DOCUMENTATION
  6.  
  7.                       by F.J. Reichert, January 1993
  8.  
  9. Introduction
  10. ------------
  11.  
  12.      JukeBox is a program to play compact digital audio discs by  emulating
  13. a graphical user interface similar to common  cd  players.  It  provides  a
  14. command line oriented, fully programmable ARexx user interface as well.  It
  15. will work on CD-ROM players plugged to  a  scsi-hostadapter.  JukeBox  will
  16. open its windows  on  the  workbench  (or  any  other  public  screen  with
  17. intuition V36+) and do its best to allow a font sensitive layout. The  main
  18. goal  during  development  was  to  create  a  very  comprehensive,   self-
  19. explanatory utility.
  20.  
  21.  
  22. Copyright
  23. ---------
  24.  
  25. Copyright © 1992-93 by F.J. Reichert. All  Rights  Reserved.  This  program
  26. and all accompanying files are copyrighted by their author
  27.  
  28.      Franz-Josef Reichert
  29.      Kuchlingerstraße 13
  30.      6601 Kleinblittersdorf, GERMANY
  31.      eMail: fjrei@kbsaar.saar.de
  32.  
  33.  
  34. Freely distributable release
  35. ----------------------------
  36.  
  37.      Sorry, sorry, sorry! But I spent more than one year  working  on  that
  38. project, and I simply can't afford to throw away my time  for  free.  There
  39. had to be some main program features being disabled to encourage  everybody
  40. to get a registered owner of this product.  For  the  freely  distributable
  41. release, the following features are restricted:
  42.  
  43.      -    only some ARexx Commands available
  44.      -    no keyboard shortcuts
  45.      -    no catalog expansion ability
  46.      -    copyright requester upon startup
  47.      -    shuttle wheel not functional
  48.  
  49.      Note well: Even if you got this copy for free, THIS PROGRAM IS NOT  IN
  50. THE PUBLIC DOMAIN!
  51.  
  52. It may  be  USED  for  any  purposes,  commercial,  personal,  public,  and
  53. private, as long as  ALL  of  this  text,  all  files,  copyright,  mailing
  54. address, and this notice are retained in their  entirety.  It  is  provided
  55. without warranty of any kind, so use it at your own risk!
  56.  
  57. This program may be DISTRIBUTED by any means as long as there are
  58. no charges specifically for  the  program.  Charges  for  downloading  from
  59. electronic BBS systems,  or  charges  for  copying  and  media  for  freely
  60. redistributable software libraries are certainly  permissible.  The  entire
  61. archive has to be left intact and unchanged. You must  not  distribute  any
  62. changed or imcomplete set of the original archive.
  63.  
  64. Shareware release
  65. -----------------
  66.  
  67.      If you used this program for a  while  and  feel  that  it's  time  to
  68. register, the  full  blown  shareware  release  comes  with  the  following
  69. features:
  70.  
  71.      -    full ARexx command set
  72.      -    keyboard shortcuts
  73.      -    catalog expansion --- add YOUR own audio discs!
  74.      -    full featured shuttle wheel
  75.  
  76. The suggested registration fee is US $35.00, DM  50,00  or  any  equivalent
  77. amount in worldwide exchangeable foreign  currency.  Nevertheless,  if  you
  78. feel that being too much, too few or you  can't  afford  that  for  various
  79. reasons, feel free to send me any amount you think this program  is  worth.
  80. Any donation will be gratefully  accepted.  Bug  reports,  suggestions  and
  81. enhancement requests are highly appreciated as well.
  82.  
  83. But please, don't send me foreign checks! It costs me  more  to  cash  them
  84. than the suggested amount, so there are  actually  pretty  "worthless"  for
  85. me. Eurochecks or checks drawn  on  german  banks  will  be  fine,  though.
  86. Sorry, I'm not prepared to handle credit card  payment.  People  living  in
  87. europe might want to send me money to a bank account,  the  number  is  152
  88. 408 664, Postgiroamt Saarbrücken (BLZ 590 100 66). Otherwise,  please  send
  89. me a 50-DM-bill (any bank should be able to exchange) or foreign bills  (no
  90. coins, please!) which I can exchange or use for  my  next  holidays.  Don't
  91. forget to enclose your complete address  with  your  registration  request.
  92. Thanks for your support!
  93.  
  94. The shareware release must not be redistributed by  no  means  without  the
  95. prior written consent of the author. 
  96.  
  97. Special note to CDROM software/hardware vendors
  98. -----------------------------------------------
  99.  
  100.      Yes, you may distribute the freely distributable  release  along  with
  101. your product as long as there is no additional fee for the program  itself.
  102. Surprised? Well, I'll like that, really! Possibly, you may even ask  me  to
  103. do the appropriate adaption work to  player  hardware  not  supported  yet,
  104. providing the necessary information and materials, I will try to do  do  my
  105. best for *free*.
  106.  
  107.      On  the  other  hand,  you  should  consider   carefully   about   the
  108. possibility of distributing the full featured version instead, which  could
  109. greatly improve your sales. Please contact me for a license agreement.
  110.  
  111.  
  112. --- Well, Here comes the program documentation:
  113.  
  114. The user interface
  115. ------------------
  116.  
  117. The time display
  118. ----------------
  119.  
  120.      Gives information about track,  index,  minutes,  seconds  and  frames
  121. (1/75s) of the current audio disc. Playing status will show a triangle  for
  122. play and two sticks for pause, as known  from  audio  player  devices.  The
  123. name of the current disc will  be  displayed  in  the  window's  title  bar
  124. (casually stripped down to a maximum of 60 characters, followed by  '...'),
  125. the name of the current track (and/or optionally index) will show up  below
  126. the time display (see the catalog chapter to learn  more  about  catalogs).
  127. Graphic symbols '__V___' and 'o' stand for the meaning of the time  display
  128. to be track-relative oder disc-relative. 'A<>B' serves  to  display  marked
  129. passages (see below).
  130.  
  131. The track entry listview
  132. ------------------------
  133.  
  134.      Gives information about all tracks on a disc currently inserted.  Only
  135. audio tracks will be selectable. Double clicking  on  a  track  entry  will
  136. cause the pickup to be moved to the beginning of that track.  The  "TITLES"
  137. gadget switches between normal entry  information  (track  number,  playing
  138. time or CTRL value for (unselectable) data  tracks  and  absolute  starting
  139. time on the discs) or title names. Title names are only available if  there
  140. is a  catalog  entry  for  a  given  disc  in  the  current  catalog  file.
  141. Otherwise, a dummy name "<no title assigned>" will be displayed. 
  142.  
  143. Gadgets
  144. -------
  145.  
  146. Graphical symbols
  147. -----------------
  148.  
  149.      Eject, Play/Pause, Stop, TIMESET = fast  forward  and  fast  backward,
  150. AMS/RMS = move to start of track and end of track, leftq and right  channel
  151. enable/disable (speaker symbols).
  152.  
  153. The shuttle wheel
  154. -----------------
  155.  
  156.      This custom gadget may be  used  for  convenient  positioning  of  the
  157. pickup with  Intuition  V36+.  It  is  a  passive  information  gauge  with
  158. Intuition V34 and below. It depends on the current  time  display  mode  in
  159. which way it acts. The needle may be positioned by  dragging  it  with  the
  160. mouse. Complement mode will show the dial gadget  to  be  the  active  one,
  161. "release verify"  operation,  as  known  from  standard  boolean  intuition
  162. gadgets is supported as well. The needle appears in plain color for  played
  163. time (it will move clockwise then), a rastered  image  will  be  shown  for
  164. remaining time  (it  will  then  move  in  the  opposite  direction)  while
  165. playback is in progress. 
  166.  
  167. 1 to 16 (shortcut: numeric keys)
  168. -------
  169.  
  170.      Select a given track. For extended track selection (see  below),  "10"
  171. will act just like "0".
  172.  
  173. ++ (shortcut: <+>)
  174. --
  175.  
  176.      Extended track selection. Allows to specify  any  track  number  above
  177. 16. two minus signs (--) will appear in the track  display,  e.g.  pressing
  178. "2"  and  "4"  consecutively  will  specify  track  number  24.  If   input
  179. operations are abandonned for longer than ten seconds or set to an  invalid
  180. (nonexistant) track, no repositioning will be done at all. 
  181.  
  182. A^B (shortcut: <^>)
  183. ---
  184.  
  185.      May be used to mark a desired  passage.  Pressing  this  gadget  first
  186. marks the beginning (A) of the passage, the second press will mark the  end
  187. of the passage (B). JukeBox will then restart the whole passage from  A  to
  188. B. To play the  passage  continguously,  the  "Repeat"  mode  needs  to  be
  189. enabled (see below). Pressing "Play/Pause" will restart playing the  marked
  190. passage, "Continue" (see below) will clear both marks.  To  mark  just  the
  191. beginning of a passage (only A), just press "A^B" once. This position  will
  192. be searched for  every  time  "Play"  is  pressed.  Certain  players  might
  193. restrict marked areas to be located  inside  one  single  track,  currently
  194. supported players are not (see below), areas may range over several  tracks
  195. without restrictions.
  196.  
  197. Lock (shortcut: <L>)
  198. ----
  199.  
  200.      Locks the disc tray. Pressing the eject button  on  the  CDROM  player
  201. will take no effect. Depends on the drive being used.
  202.  
  203. Macros (shortcut: <X>)
  204. ------
  205.  
  206.      Invokes the ARexx command shell (ARexx is required to  take  advantage
  207. of  this).  Commands  may  be  issued  asynchronously  to  normal   program
  208. operation. Editing capabilities on the command line depends heavily on  the
  209. console handler currently used. See below how to specify a console  handler
  210. (CONSOLE tooltype).
  211.  
  212. Time (shortcut: <T>)
  213. ----
  214.  
  215.      Switches between  four  different  display  modes  specifying  playing
  216. time. First mode describes played time relative to  the  beginning  of  the
  217. current track, second mode remaining time of the current track, third  mode
  218. played time relative to the whole disc and fourth mode  remaining  time  of
  219. the whole disc.
  220.  
  221. Repeat (shortcut: <R>)
  222. ------
  223.  
  224.      Toggles between repeat mode and normal mode. In normal mode,  playback
  225. stops if a disc is completed. In repeat mode, playback of a completed  disc
  226. (or a completed passage, see "A^B") will restart at the first track or  the
  227. beginning of the passage, respectively.
  228.  
  229. Shuffle (shortcut: <S>)
  230. -------
  231.  
  232.      Toogles between shuffle mode and normal play mode.  In  shuffle  mode,
  233. JukeBox will play tracks on a  disc  randomly.  Particular  tracks  may  be
  234. enabled or disabled (by  clicking  on  them  in  the  track's  listview  or
  235. pressing appropriate track number gadgets/keys).  Note:  If  you  quit  the
  236. program while in shuffle mode, audio playback may continue even if  it  had
  237. been currently in pause mode.  This  is  due  to  the  playback  completion
  238. address, which must be cleared to get the player to a  known  state  before
  239. exiting.
  240.  
  241. Edit (shortcut: <E>)
  242. ----
  243.  
  244.      Allows the pickup to be  positioned  by  specifing  an  absolute  time
  245. value (relative to the start of the current disc). Four minus signs  '--:--
  246. ' will appear in the  display  until  the  input  is  completed.  If  input
  247. operation is abandonned for longer than twenty seconds (or  set  to  a  non
  248. existing value), no repositioning will be done.
  249.  
  250.  
  251. Continue (shortcut: <C>)
  252. --------
  253.  
  254.      Suspends "SHUFFLE" mode or passage playback (see "A^B")  and  switches
  255. back to normal playback.
  256.  
  257. Titles (shortcut: <I>)
  258. ------
  259.  
  260.      Toggles the display mode for the track's listview. Either  the  format
  261. "<track number> <time> <starting time>" or the title name as  specified  in
  262. the catalog may be choosen.
  263.  
  264.  
  265. Menus
  266. -----
  267.  
  268. Project
  269. -------
  270.  
  271.      The current project is  always  a  selected  catalog  file  (see  also
  272. tooltypes, CATALOG) which allows the program to find and display the  label
  273. and title names for the current disc and the track currently playing.
  274.  
  275. Project, New (shortcut: <R-AMIGA>+<N>)
  276. ------------
  277.  
  278.      Clears the current catalog file, leaves the catalog window empty.
  279.  
  280. Project, Open (shortcut: <R-AMIGA>+<O>)
  281. -------------
  282.  
  283.      Brings up a  file  requester  to  select  a  new  catalog  file.  Uses
  284. standard system ASL requester for AmigaOS 2.x and up,  tries  to  open  the
  285. public domain ARP-filerequester for AmigaOS 1.3 and below. If neither  asl-
  286. or arp.library is  available,  brings  up  a  simple  string  requester  to
  287. specify the desired file name after informing the user once  that  none  of
  288. those libraries is available.
  289.  
  290. Project, Save (shortcut: <R-AMIGA>+<S>)
  291. -------------
  292.  
  293.      Saves the current project. Not  accessible  for  freely  distributable
  294. release. 
  295.  
  296. Project, Save as (shortcut: <R-AMIGA>+<A>)
  297. ----------------
  298.  
  299.      Brings up a file requester (see above) to specify  the  file  name  to
  300. save the current project. Not accessible for freely distributable release. 
  301.  
  302. Project, About (shortcut: <R-AMIGA>+<I>)
  303. --------------
  304.  
  305.      Gives program information. Provides a vendor-specific  graphics  image
  306. for the cdrom player device currently used (as of  this  writing:  NEC  and
  307. TOSHIBA).
  308.  
  309. Project, Shortcuts (shortcut: <R-AMIGA>+<K>)
  310. ------------------
  311.  
  312.      Brings up a requester which shows the  keyboard  shortcuts  available.
  313. Note: For the freely  distributable  release,  those  are  all  unavailable
  314. regardless whether they are shown or not.
  315.  
  316. Project, Quit (shortcut: <R-AMIGA>+<Q>)
  317. -------------
  318.  
  319.      Quits  the  program.  Any  opened  window  (catalog,  ARexx   console,
  320. requesters) will be closed first, waiting ARexx commands will be  suspended
  321. to return immediately. If there were changes made to the  current  project,
  322. this command will first bring up a  file  requester  to  give  the  user  a
  323. chance to save changes.
  324.  
  325. Catalog, Show (shortcut: <R-AMIGA>+<D>)
  326. -------------
  327.  
  328.      Brings up the catalog  window.  If  already  opened,  will  force  the
  329. catalog  window  to  be  the  topmost  window.  Disc  label   entries   are
  330. highlighted and non-selectable, title entries will  appear  as  plain  text
  331. and are selectable. Selecting a title entry inside the catalog window  will
  332. show the name of the disc this track belongs to in the window's title  bar.
  333. Double clicking on an entry will  either  reposition  the  pickup  to  that
  334. track immediately (if the matching  disc  is  inserted),  or  bring  up  an
  335. asynchronously requester to prompt the user to insert  this  disc.  If  the
  336. request is satisfied, it will  disappear  automatically  and  the  selected
  337. track will be played. There may be only  one  pending  play  operation  per
  338. disc JukeBox is waiting  for,  so  "older"  requests  will  disappear  with
  339. "newer" to come up. Requesters may be cancelled any time  by  pressing  the
  340. "Forget" gadget.
  341.  
  342. Catalog, Append (shortcut: <R-AMIGA>+<+>)
  343. ---------------
  344.  
  345.      Appends the catalog "dummy" entry (provides "<no title assigned>"  for
  346. each entry) of a currently unknown  disc  to  the  current  catalog.  After
  347. saving, label and title names may be edited by hand. This item is  disabled
  348. for the freely distributable release, you cannot expand the catalog.
  349.  
  350. Catalog, Sort (shortcut: <R-AMIGA>+<T>)
  351. -------------
  352.  
  353.      Sorts the catalog. Initially (mode 1),  catalogs  will  be  sorted  by
  354. discs (i.e.: in the same order as there are stored in  the  catalog  file).
  355. Issuing the sort command first will display each entry (labels and  titles)
  356. to be sorted alphabetically (mode 2). Issuing the  sort  command  a  second
  357. time, the unselectable disc labels will be shown at the  end  of  the  file
  358. (mode 3). Issuing the sort command another time will switch back to mode  2
  359. and so on. Closing and reopening the window will switch  back  to  mode  1.
  360. Sorting  supports  foreign   language   methods,   as   provided   by   the
  361. locale.library for AmigaOS 2.1 and up. Below that, standard  ASCII  sorting
  362. will be performed.
  363.  
  364. SCSI
  365. ----
  366.  
  367.      Selects the current host address. Multiple items selection  supported.
  368. Any change will take place after releasing the menu selection button,  i.e.
  369. you should browse through  all  three  submenus  to  select  a  given  host
  370. address. JukeBox will then try to open the specified host device and  issue
  371. a inquiry command to figure out the matching  player  module,  if  any.  If
  372. anything fails, the user  will  be  informed  by  requesters.  There  is  a
  373. "dummy" default player provided which just does nothing at  all,  and  will
  374. do no harm to any scsi target device.
  375.  
  376. SCSI, Board
  377. -----------
  378.  
  379.      Subitems allow to specify the ID number of the  adapter  board  to  be
  380. used (the 100's digit).
  381.  
  382.  
  383. SCSI, Logical Unit
  384. ------------------
  385.  
  386.      Subitems allow to specify the logical unit number (the 10's digit).
  387.  
  388. SCSI, Target ID (shortcut: <R-AMIGA>+<0...7>)
  389. ---------------
  390.  
  391.      Subitems allow to specify the target ID (the 1's digit).
  392.  
  393.  
  394. Catalog file
  395. ------------
  396.      Note: Using the freely distributable release, you  cannot  expand  the
  397. catalog file with your own discs.  Only  the  default  demo  catalog  file,
  398. which comes along with the distribution archive, might give  you  a  chance
  399. to recognize some of your discs. To take  full  advantage  of  the  catalog
  400. ability, please register for the shareware release.
  401.  
  402.      The catalog file is a normal ASCII text file, which may be  edited  by
  403. any word processor or editor. Default postfix for catalog files  should  be
  404. #?.cat, since the ASL-filerequester  will  be  invoked  with  that  pattern
  405. definition to filter otherwise named files.
  406.  
  407.      Every time an unknown disc is  inserted,  JukeBox  creates  a  "dummy"
  408. catalog entry, which looks like:
  409.  
  410. <04B0A043FB0522D05A8A04FFD3AA25/240165;53:22>="<no title assigned>"
  411.         <01/00/000000;04:33>="<no title assigned>"
  412.         <02/00/020477;05:09>="<no title assigned>"
  413.         <03/00/043655;04:41>="<no title assigned>"
  414.         <04/00/064692;03:52>="<no title assigned>"
  415.         <05/00/082095;04:16>="<no title assigned>"
  416.         <06/00/101305;04:57>="<no title assigned>"
  417.         <07/00/123562;04:06>="<no title assigned>"
  418.         <08/00/142010;05:02>="<no title assigned>"
  419.         <09/00/164625;05:18>="<no title assigned>"
  420.         <10/00/188477;03:15>="<no title assigned>"
  421.         <11/00/203135;03:33>="<no title assigned>"
  422.         <12/00/219102;04:41>="<no title assigned>"
  423. #
  424.  
  425.      First line describes the disc ID and label name. Between '<' and  '>',
  426. there are 15 bytes of a media catalog number (MCN) stored, which serves  to
  427. give an unique identification  for  this  disc.  Depending  on  the  player
  428. device currently used, this may be a "real" media catalog number  (UPC/EARN
  429. barcode) as defined by the ANSI specifications for  cdrom  player  devices,
  430. read directly from the disc. If there are no commands (as for  current  NEC
  431. drives) to read such a number, or the number on a given  disc  is  invalid,
  432. then a "faked" MCN will be composed out of the track starting times of  the
  433. disc. Separated by a slash, the total block number count follows  the  MCN,
  434. after a semicolon comes the total disc time. Then, the label name  follows,
  435. encapsulated by '"'. "Escaping" is supported for two special characters  so
  436. far, '"' and '\' must be written as '\"' and '\\' respectively  inside  the
  437. name definition. 
  438.  
  439.      For each track on the disc, there is a separate  track  entry  in  the
  440. catalog entry. The identification is composed by the  track  number,  index
  441. number, starting block address and  (optionally)  the  play  time  of  this
  442. track, followed by the title name string. There are two different means  to
  443. specify title string for indexes:
  444.  
  445.      (1) Hierarchical indexing:
  446.  
  447.      Let's say, track five (named "foo") contains  four  different  indexed
  448. areas, named "bar1", "bar2"... "bar4". Thus, the  track  entry  would  look
  449. like:
  450.  
  451.         <05/00/082095;04:16>="foo"
  452.         <05/01>="bar1"
  453.         <05/02>="bar2"
  454.         <05/03>="bar3"
  455.         <05/04>="bar4"
  456.  
  457.      When playing track five,  JukeBox  will  display  "foo;  bar1",  "foo;
  458. bar2",... "foo; bar4" as title names. Hierarchical index names  are  always
  459. appended to their parent's track name this way, delimited by a semicolon.
  460.  
  461.      (2) Non-hierarchical indexing:
  462.  
  463.      Let's  assume  the  same  as  above,  but  track  five   inherits   no
  464. "hierarchical" meaning, each of the four indexed titles  are  of  the  same
  465. importance. So our track entry will look like:
  466.  
  467.         <05/01/082095;04:16>="bar1"
  468.         <05/02>="bar2"
  469.         <05/03>="bar3"
  470.         <05/04>="bar4"
  471.  
  472.      Note that "bar1" is *not* the null indexed entry, thus  any  following
  473. index titles are considered to be of same importance.
  474.  
  475.      General note: In fact, cdrom player  devices  are  not  able  to  read
  476. indexing information from the table of contents stored on the  disc.  Thus,
  477. indexing of catalogs always needs to be done by hand,  otherwise  no  index
  478. distinguishing can  be  done  by  the  program.  Indexing  is  an  optional
  479. feature. And, it is not possible to position the pickup on  a  given  index
  480. directly, since the player device  doesn't  know  at  all  where  they  are
  481. located inside the track. So, positionning  to  an  index  entry  (e.g.  by
  482. double clicking on an index name in the listview) will always position  the
  483. pickup to the beginning of the index' parent track.
  484.  
  485.      A catalog entry is terminated by a hash  sign  in  the  first  column.
  486. Anything between  square  brackets,  but  after  the  ';'  is  ignored  and
  487. considered to be a comment. Anything outside <> or "" is  ignored,  and  is
  488. not written back (i.e. will be lost) when the catalog file is resaved. 
  489.  
  490.      (3)  Aliasing
  491.  
  492.      Another feature for catalog entries is  aliasing  entries  to  another
  493. disc's layout. Let's say, you  have  two  different  discs  which  produces
  494. different MCN's, but actually have the same layout.  An  excellent  example
  495. are certain data discs of different release  versions,  as  the  hypermedia
  496. fish CDROM. Both discs may be recognized as the same disc, by specifying  a
  497. parent entry and an alias to that entry consecutively:
  498.  
  499.      The  first  entry  to  appear  has  to  be  a  normal  catalog   entry
  500. representing one of the discs:
  501.  
  502. <00000000000000000000B99DB399DB/235995;52:27>="The Fred Fish Collection  on
  503. CDROM"
  504.         <01>="Fish disk data track"
  505. #
  506.  
  507.      Then, an alias entry may refer to this parent entry:
  508.  
  509. <00000000000000000000C16EA416EA/268010;59:33>=<00000000000000000000B99DB39
  510. 9DB/235995;52:27>
  511.  
  512.      The alias consists of two disc identifications,  concatenated  by  the
  513. equality operator. Note that the track's identification entry  is  stripped
  514. down to contain just the track number. Why? As any given information is  of
  515. importance, the index and  block  numbers  are  intentionally  omitted,  so
  516. JukeBox will only test for the track number to match when  comparing  to  a
  517. real disc. Otherwise, different starting block numbers  could  prevent  the
  518. program from recognizing the track as "Fish Data Track".
  519.  
  520.      Another reason for specifying  aliases  is  to  create  catalog  files
  521. which can be read both by drives supporting real MCN's and drives  creating
  522. "faked" MCN's, due to the lack of the opportunity to read "real"  MCN's  of
  523. certain CD-ROM player devices.
  524.  
  525.  
  526. Tooltypes
  527. ---------
  528.  
  529.      There are several tooltypes for program  configuration.  JukeBox  will
  530. always read the tooltypes from its proper icon  file.  Tooltypes  are  also
  531. accessible   via   normal    shell    command    lines,    e.g.    'jukebox
  532. DEVICE=gvpscsi.device'.  Command  line  arguments  take   precedence   over
  533. tooltypes defined in icon file.
  534.  
  535. DEVICE
  536.  
  537.      Specifies the device to be used. Default is 'scsi.device'.
  538.  
  539. UNIT
  540.  
  541.      Specifies the unit number to be used. Default is 3.
  542.  
  543. PUBSCREEN
  544.  
  545.      For Intuition V36+, JukeBox will try to open its window on the  public
  546. screen of this given name. If open fails, it will fall back to the  default
  547. public screen (almost the workbench screen). Note that it  depends  on  the
  548. console handler device (see also CONSOLE) if the ARexx  macro  shell  might
  549. be opened on a public screen or not.
  550.  
  551. FONTNAME
  552.  
  553.      JukeBox tries to  use  that  font  for  rendering  the  texts  of  its
  554. graphical user interface. Otherwise,  the  system  default  text  font,  as
  555. specified by the preferences  font  editor  for  workbench  2.0  and  above
  556. (workbench 1.3 and below will allow topaz eight or nine) will be  used.  If
  557. strings don't fit (will be calculated on every item), it will fall back  to
  558. topaz eight.
  559.  
  560. FONTHEIGHT
  561.  
  562.      See above.
  563.  
  564. CONSOLE
  565.  
  566.      Specifies the console name for  the  ARexx  macro  shell.  Default  is
  567. 'CON:0/0/320/100'. A '/' and the name of  the  ARexx  port  (see  PORTNAME)
  568. will be postponed, acting (hopefully!) as title name for  the  new  window.
  569. As well, (for Intuition V36+) '/SCREEN  '  and  the  name  of  the  desired
  570. public screen (see PUBSCREEN) are appended to the stream name,  which  will
  571. (hopefully, at least Amiga Shell and WShell will do fine) force the  window
  572. to be opened on the preferred public screen.
  573.  
  574.      But nearly any other interactive, line-oriented  console  handler  may
  575. be used, for example CONSOLE=CNX: (for WShell,  AUX:  should  do  just  the
  576. same for Amiga Shell) will open a command shell  via  the  serial  port  to
  577. another terminal.
  578.  
  579. UPDATE
  580.  
  581.      Specifies the time interval for updating the display in  microseconds.
  582. Default is 250000, so the display will be updated every  1/4  second.  Note
  583. that several program functions depend on this update ratio, e.g.  repeating
  584. discs after completion, recognizing disc changes and so on. 
  585.  
  586. NASTY
  587.  
  588.      If  set  to  a  value  greater  than   zero,   updates   the   display
  589. continguously even if the application's  window  is  not  the  active  one.
  590. Otherwise, the display is only updated if the window  is  the  active  one.
  591. Defaults to one. 
  592.  
  593. PORTNAME
  594.  
  595.      Specifies the name to use for  the  public  ARexx  port.  Defaults  to
  596. 'JUKEBOX'. External programs may use this  port  to  communicate  with  the
  597. active ARexx host of JukeBox.
  598.  
  599.      There is a slot numbering mechanism which will  provide  unique  names
  600. for each port even if JukeBox was launched  several  times.  Starting  with
  601. "<portname>.0", every subsequent port will have  the  next  available  slot
  602. number, "<portname>.1", "<portname>.2" and so on. 
  603.  
  604. STOP
  605.  
  606.      If set to a value greater than zero, forces  the  program  to  suspend
  607. any audio playback on program  startup  or  exit.  Otherwise,  the  current
  608. playing status is not affected. Defaults to zero.
  609.  
  610. REXXSHELL
  611.  
  612.      If set to a value greater than zero,  a  ARexx  macro  shell  will  be
  613. opened upon program startup automatically. Defaults to zero.
  614.  
  615. KEYREPEAT
  616.  
  617.      If set to  zero,  repeated  key  events  from  the  keyboard  will  be
  618. discarded. Otherwise, they will be treaded as valid command keys up to  the
  619. given maximum number. Defaults to one.
  620.  
  621. MACRO_1, MACRO_2, MACRO_3, MACRO_4, MACRO_5
  622.  
  623.      Define ARexx macros.  Those  may  be  inline-stringfiles  as  well  as
  624. filenames (default postfix #?.np) containing complete  scripts.  They  will
  625. be invoked by pressing the function keys F1, F2,...  F5  respectively.  Not
  626. available for the freely distributable release.
  627.  
  628. STARTUP
  629.  
  630.      Defines an ARexx macro (same  conventions  as  above)  which  will  be
  631. executed upon program startup.
  632.  
  633. CATALOG
  634.  
  635.      Defines the name of the initial catalog file to be used.
  636.  
  637. CHANGEINT
  638.  
  639.      If set to a value other than zero, tries to install a TD_CHANGEINT  to
  640. recognize disc changes. If that mechanism is not supported by a  particular
  641. driver, JukeBox will bring up a requester. When using changeint's,  JukeBox
  642. will no longer "poll" the drive as long  as  there  is  no  disc  inserted.
  643. Defaults to zero.
  644.  
  645. ARexx Interface
  646. ---------------
  647.  
  648.      There are 26 ARexx  commands  supported  so  far,  implemented  by  an
  649. active ARexx host interface.  The  host  interface  may  be  used  via  the
  650. builtin command line interpreter (invoked with the  MACRO-gadget),  or  any
  651. other external program using the application's public ARexx  message  port,
  652. named  'JUKEBOX.n'  by  default  (other  names  may  be  specified  by  the
  653. PORTNAME-tooltype as well, see above).
  654.  
  655.      Note: Commands marked '*' will not work for the  freely  distributable
  656. release.
  657.  
  658.      Syntax is similar to standard AmigaDOS conventions:
  659.  
  660. /A:  Always required. This argument always needs to be given.
  661.  
  662. /K:  Keyword required. The argument's keyword needs to  be  included  along
  663. with the argument itself. Keywords are not required by default.
  664.  
  665. /M:  Multiple Arguments of the same type are accepted. Up to  14  Arguments
  666. may be specified in general to any command supported by JukeBox.
  667.  
  668. /S:  The argument works as  a  switch.  Simply  type  the  keyword  in  the
  669. command line to turn the switch on.
  670.  
  671. /N:  Number. The argument is numeric.
  672.  
  673. KEYWORD={...}: Describes the expected format of an argument. If  there  are
  674. several, mutually exclusive options for an argument, they are seperated  by
  675. "|".  E.g.,  EXAMPLE={BLACK|WHITE}  means  that  "EXAMPLE"  may  be  either
  676. "BLACK" or "WHITE", TIME={HH:MM:SS} means that "TIME" should  be  specified
  677. as two-digit hours, minutes and seconds, seperated by colons.
  678.  
  679. * ADDTIME TO={MM:SS:FF}/A
  680.           FROM={MM:SS:FF}/M
  681.  
  682.      Simple time arithmetics. Adds several time descriptions of the  format
  683. MM:SS:FF (M=minutes up to 99, S=seconds up to 59,  F=1/75s  up  to  74)  to
  684. each other and returns the result. Ambiguous values, e.g. 0:2:105, will  be
  685. corrected to 00:03:30. Note: Time descriptions need to be enclosed in '  or
  686. " for ARexx command parsing rules to detect them correctly.
  687.  
  688.      See also: SUBTIME, CMPTIME.
  689.  
  690. * CATALOG SHOW/S,
  691.           APPEND/S,
  692.           MCN/S
  693.  
  694.      Manipulation for catalog entry of the current  disc.  SHOW  shows  the
  695. template, APPEND adds it to the global media catalog, MCN returns the  disc
  696. identification given by the media catalog number stored on the cdrom, or  a
  697. "faked" number computed from several start times of the cdrom's tracks,  if
  698. there is no valid MCN  or  reading  this  number  is  not  supported  by  a
  699. particular drive/firmware.
  700.  
  701. * CHANNEL STATUS={LEFT|RIGHT|BOTH|NONE}/A
  702.  
  703.      Choosing the output mode. LEFT or RIGHT play only one channel on  both
  704. outputs, BOTH plays both channels in stereo mode, NONE plays no channel  at
  705. all.  
  706.  
  707. * CMPTIME DEST={MM:SS:FF}/A,
  708.           SRC={MM:SS:FF}/A
  709.  
  710.      Simple time arithmetics.  Returns  1  if  destination  time  is  below
  711. source time, -1 if above, 0 if both times  are  equal.  Times  have  to  be
  712. given as MM:SS:FF (M=minutes up to 99, S=seconds up to 59,  F=1/75s  up  to
  713. 74).
  714.  
  715.      See also: ADDTIME, SUBTIME.
  716.  
  717. * CURRENT TRACK/S,
  718.           INDEX/S,
  719.           BLOCK/S,
  720.           RELTIME/S,
  721.           TIME/S,
  722.           TRKTIME/S,
  723.           CDTIME/S,
  724.           STATUS/S,
  725.           CONTROL/S,
  726.           PLAYBACK/S,
  727.           LABEL/S,
  728.           TITLE/S,
  729.           BREAK/S
  730.  
  731.      Returns the number of the current TRACK,  INDEX,  BLOCK  number,  time
  732. relative to the  start  of  the  current  track  (RELTIME),  absolute  time
  733. (TIME), whole time of the track currently playing (TRKTIME),  playing  time
  734. of the whole disc  (CDTIME),  current  playing  status  (STATUS)  given  as
  735. "PLAY", "NODISC", "PAUSE" or "COMPLETE", contents  of  the  control  nibble
  736. for the current track given as:
  737.  
  738. Bit    equals zero                  equals one
  739. -----------------------------------------------------------
  740. 0      Audio without pre-emphasis   Audio with pre-emphasis
  741. 1      Digital copy prohibited      Digital copy permitted
  742. 2      Audio track                  Data track
  743. 3      Two channel audio            Four channel audio
  744. -----------------------------------------------------------
  745.  
  746. the current playback status (PLAYBACK) given as:
  747.  
  748.      0 = pause
  749.      2 = playing
  750.      3 = disc completed
  751.  
  752. the disc's label name (LABEL), the current track's  name  (TITLE)  and  the
  753. BREAK status (issued by the escape key) of zero or one. 
  754.  
  755. EJECT
  756.  
  757.      Stops  playing,  turns  motor  and  laser  beam  off  and  ejects  the
  758. cartridge, if supported by the particular drive. If cartridge  ejection  is
  759. not supported, the disc tray is now safe to be opened manually and a  cdrom
  760. may be removed.
  761.  
  762. GETATTR   VERSION={FULL|DATE|VER|REV}/K,PLAYER/S,
  763.           WINDOW={TITLE|LEFT|TOP|PUBSCREEN|GUILOCKS}/K,
  764.           PROJECT={FILENAME|PATH|FILE|CHANGES}/K,
  765.           PORTNAME/S
  766.  
  767.      Returns   program   information.   VERSION   FULL/DATE/VER/REV   gives
  768. different  version  strings,  PLAYER  identifies  the  player  module  used
  769. currently, WINDOW gives information about the window  position  (LEFT/TOP),
  770. its TITLE, the underlying PUBSCREEN (if supported by the current  operation
  771. system),  the  nesting  count  of  GUILOCKS.  PROJECT  FILENAME  gives  the
  772. complete path- and filename of the current catalog,  PATH  only  gives  the
  773. path part, FILE gives the filename part, CHANGES reports the  changes  made
  774. to the catalog. PORTNAME returns the name of the public ARexx-Port.
  775.  
  776. INQUIRY
  777.  
  778.      This command will send an Inquiry command to  the  current  drive  and
  779. return 36 bytes of data.
  780.  
  781.      Example: options results; inquiry; say c2x(result)
  782.  
  783.  
  784. * LOCK    STATUS={0|1}/N
  785.  
  786.      Looks or unlocks (depending on status) the disc tray, if supported  by
  787. the current drive. With a locked tray, cartridges may only  be  ejected  by
  788. pressing the eject gadget within JukeBox, but not  by  the  button  on  the
  789. drive.
  790.  
  791. * LOCKGUI
  792.  
  793.      Inhibits the graphical user interface. This call may  be  nested.  See
  794. also: UNLOCKGUI. 
  795.  
  796. MOVEWINDOW     LEFT/N,
  797.                TOP/N
  798.  
  799.      Moves the user interface window to  the  absolute  position  given  by
  800. LEFT and TOP. They may not exceed the dimensions  of  the  current  screen,
  801. the command will take care of this.
  802.  
  803. * NEW     FORCE/S
  804.  
  805.      Abandon the current catalog, FORCE  prevents  a  prompt  requester  to
  806. appear if the current catalog was altered.
  807.  
  808. * OPEN    FORCE/S,
  809.           NAME/K
  810.  
  811.      Open a new catalog, either by bringing up a file requester, or by  the
  812. NAME given with this command. FORCE prevents a rompt  requester  to  appear
  813. if the current catalog was altered.
  814.  
  815. PAUSE
  816.  
  817.      Switches to pause mode. Current playing is interrupted and the  pickup
  818. will stay at the same position.
  819.  
  820. PLAY
  821.  
  822.      Starts (continues) playing from the current position. If  there  is  a
  823. range marked by A and/or B, starts from the beginning of this range (the  A
  824. position).
  825.  
  826. REQUESTRESPONSE PROMPT/K
  827.  
  828.      Brings up a requester, prompting with PROMPT string for a  psotive  or
  829. negative answer. The user's choice will be reported to the caller.
  830.  
  831. * SAVE
  832.  
  833.      Saves the current catalog.
  834.  
  835. * SAVEAS  NAME/K
  836.  
  837.      Saves the current catalog under the name given by NAME.
  838.  
  839. * SET     TRACK=NUM/N/K,
  840.           BLOCK=NUM/N/K,
  841.           TIME={MM:SS:FF}/K
  842.  
  843.      Moves the pickup  to  a  given  TRACK,  BLOCK  (frame)  number  or  an
  844. absolute TIME position on the disc given as MM:SS:FF (M=minutes up  to  99,
  845. S=seconds up to 59, F=1/75s up to 74). 
  846.  
  847. STOP
  848.  
  849.      Stops playing and moves the pickup to the first track.
  850.  
  851. * SUBTIME TO={MM:SS:FF}/A,
  852.           FROM={MM:SS:FF}/M
  853.  
  854.      Simple time arithmetics. Subtracts several time  descriptions  of  the
  855. format MM:SS:FF (M=minutes up to 99, S=seconds up to 59, F=1/75s up to  74)
  856. from destination (TO) and returns the result.
  857.  
  858.      See also: ADDTIME, CMPTIME.
  859.  
  860. * TOC     NUM/N,
  861.           STEM=NAME/K
  862.  
  863.      - Without any arguments, returns the current table of  contents  given
  864. as (example):
  865.  
  866.      TDT 53:22:15 (53:24:15)
  867.      #01 04:33:02 (00:02:00)
  868.      #02 05:09:03 (04:35:02)
  869.      #03 04:40:37 (09:44:05)
  870.      #04 03:52:03 (14:24:42)
  871.      #05 04:16:10 (18:16:45)
  872.      #06 04:56:57 (22:32:55)
  873.      #07 04:05:73 (27:29:37)
  874.      #08 05:01:40 (31:35:35)
  875.      #09 05:18:02 (36:37:00)
  876.      #10 03:15:33 (41:55:02)
  877.      #11 03:32:67 (45:10:35)
  878.      #12 04:40:63 (48:43:27)
  879.  
  880.      Values in parantheses describes starting  time  of  particular  tracks
  881. and (TDT) ending time of disc respectively. 
  882.  
  883.      - Given a track number as  argument,  returns  information  about  the
  884. particular track, e.g. TOC 4 will give:
  885.  
  886.      03:52:03 (14:24:42-18:16:45) $10 "If I Were (In Your Shoes)"
  887.  
  888.      which describes the  track  duration,  starting  and  ending  time  in
  889. parantheses, the ADR and CTRL nibble and the track's name. 
  890.  
  891.      - STEM will put the table of contents (as given  above)  in  an  ARexx
  892. stem of the given name, storing the number of lines in element zero of  the
  893. stem, e.g.
  894.  
  895.      TOC STEM a.
  896.      DO i=0 TO a.0
  897.           SAY a.i
  898.      END
  899.  
  900. *UNLOCKGUI
  901.  
  902.      Enables the user interface for  normal  gadget/menu  processing.  This
  903. call may be nested as well. See also: LOCKGUI.
  904.  
  905.  
  906. * WAIT    COMPLETE/S,
  907.           TRACK=NUM/N/K,
  908.           ABSOLUTE={MM:SS:FF}/K,
  909.           FKEY NUM={6|7|8|9|10}/N/K
  910.  
  911.      Waits until current disc is COMPLETE, a particular TRACK  is  reached,
  912. an ABSOLUTE time expired, or a function key given by FKEY is  pressed.  The
  913. script doesn't proceed as long  as  the  particular  event  doesn't  occur.
  914. Note: function keys have to be pressed in the application's (or  catalog's)
  915. window, not the window of the command interpreter, which would be hard  for
  916. JukeBox to discover :-).
  917.  
  918.      Warning: if a particular event doesn't occur, this command will  never
  919. return.  By  pressing  the  escape  key  or  the  close   gadget   of   the
  920. application's window, all hanging waits are devoted to return immediately.
  921.  
  922.  
  923. WINDOWTOBACK
  924.  
  925.      Switches the user interface window to the background.
  926.  
  927. WINDOWTOFRONT
  928.  
  929.      Switches the user interface window to the top of any other window.
  930.  
  931. ARexx scripts
  932. -------------
  933.  
  934.      The default postfix for ARexx-Scripts is  "#?.jb".  You  can  start  a
  935. script by simply typing its name to the  ARexx  console,  e.g.  "fwd"  will
  936. search for the script "fwd.jb". You may type "inline"-scripts to the  ARexx
  937. console as well. Example:
  938.  
  939.      do i=1 to 10; say 'hello, world'; end;
  940.  
  941.      And you may type any command supported  by  JukeBox  directly  to  the
  942. console, e.g. "play" or "pause".
  943.  
  944.      There are several ARexx scripts  in  the  distribution  archive  which
  945. serve as examples  how  to  discover  the  full  programming  abilities  of
  946. JukeBox. People comfortable in ARexx programming will be able to do  nearly
  947. everything. Enjoy.
  948.  
  949.      For the freely distributable release,  most  of  the  example  scripts
  950. don't work because the full ARexx command set is  only  available  for  the
  951. shareware release. Please get registered!
  952.  
  953.  
  954. Keyboard shortcuts
  955. ------------------
  956.  
  957.      For the  shareware  release,  the  following  keyboard  shortcuts  are
  958. accessible. They will not work for the freely distributable release.
  959.  
  960.  
  961.      F1...F5        Invokes ARexx MACRO_1,...MACRO_5.
  962.      F6...F10       User definable command keys for ARexx
  963.                     macro definition 'wait fkey 6' ... 'wait
  964.                     fkey 10'.
  965.  
  966.      ESC            Suspends any waiting ARexx command.
  967.      SPACE          Play/Pause
  968.      SHIFT-SPACE    Stop
  969.      SHIFT-TAB      Eject
  970.  
  971.      +              Extended track selection.
  972.      E,e            Edit
  973.      T,t            Time
  974.      ^              mark passage 'A<>B'
  975.      C,c            Continue
  976.      X,x            Invoke ARexx command interpreter
  977.      R,r            Repeat (toggle)
  978.      S,s            Shuffle (toggle)
  979.      L,l            Lock (toggle)
  980.      <              Left channel
  981.      >              Right channel
  982.      I,i            Titles
  983.  
  984.      Arrow keys
  985.      -----------
  986.  
  987.      UP             Scroll up
  988.      DOWN           Scroll down
  989.      LEFT           Time Set <<
  990.      RIGHT          Time Set >>
  991.  
  992.      SHIFT-UP       Page up
  993.      SHIFT-DOWN     Page down
  994.      SHIFT-LEFT     AMS/RMS |<<
  995.      SHIFT-RIGHT    AMS/RMS >>|
  996.  
  997.  
  998.      Numeric keys (also NKP)
  999.      ------------------------
  1000.  
  1001.      0,1...9        Same as gadgets 10,1...9
  1002.  
  1003.  
  1004. Error messages
  1005. --------------
  1006.  
  1007. ++ Error 0 Unspecified error
  1008.  
  1009.      Should never show up.
  1010.  
  1011. ++ Error 1 Target is no CD-ROM
  1012.  
  1013.      The  specified  scsi-target  wasn't  recognized  as  a  CD-ROM  player
  1014. device.
  1015.  
  1016. ++ Error 2 Can't create menu
  1017.  
  1018.      The menu couldn't be created. This one might only occur if one of  the
  1019. following calls to system libraries, GetVisualInfo(),  GetScreenDrawInfo(),
  1020. CreateMenus(), LayoutMenus() or SetMenuStrip() fails for various reasons.
  1021.  
  1022. ++ Error 3 Can't open timer.device
  1023.  
  1024.      The  timer.device  couldn't be opened. This should never occur and  is
  1025. only there for the sake of consistency.
  1026.  
  1027. ++ Error 4 Can't create timer request
  1028.  
  1029.      The timerequest structure needed for timer I/O couldn't be  allocated,
  1030. probably due to the lack of memory.
  1031.  
  1032. ++ Error 5 Can't create timer port
  1033.  
  1034.      The messageport for doing timer I/O couldn't  be  allocated,  probably
  1035. due to the lack of memory.
  1036.  
  1037. ++ Error 6 Player module "<name string>" not found
  1038.  
  1039.      Searching for a matching player module failed. Might  occur  if  there
  1040. is no player module for a particular CD-ROM player device available.  <name
  1041. string> represents the vendor identification,  as  read  from  the  drive's
  1042. inquiry data.
  1043.  
  1044. ++ Error 7 Can't open SCSI device unit <number>
  1045.  
  1046.      Attempt to open the given unit  number  failed.  Mostly  caused  by  a
  1047. request to open nonexistant drivers/target addresses.
  1048.  
  1049. ++ Error 8 Can't create SCSI request
  1050.  
  1051.      The IORequest structure needed for scsi  I/O  couldn't  be  allocated,
  1052. probably due to the lack of memory.
  1053.  
  1054. ++ Error 9 Can't create SCSI port
  1055.  
  1056.      The messageport for doing scsi I/O  couldn't  be  allocated,  probably
  1057. due to the lack of memory.
  1058.  
  1059. ++ Error 10 Can't open window
  1060.  
  1061.      The window couldn't be opened. Might be due to the lack of memory,  or
  1062. at least the default public screen  (almost  workbench)  isn't  big  enough
  1063. (584x200 pixel minimum).
  1064.  
  1065. ++ Error 11 Can't open font
  1066.  
  1067.      The desired font, specified as FONTNAME=... and  FONTHEIGHT=...  isn't
  1068. available to be opened via OpenDiskFont().
  1069.  
  1070. ++ Error 12 Can't open diskfont.library
  1071.  
  1072.      Standard  system  LIBS:  device   or   exec   libraries   list   lacks
  1073. diskfont.library. Otherwise, the version found is older than 33.
  1074.  
  1075. ++ Error 13 Can't open graphics.library
  1076.  
  1077.      There's no graphics.library available. Should never occur and is  only
  1078. there for the sake of consistency. Otherwise, the version  found  is  older
  1079. than 33.
  1080.  
  1081. ++ Error 14 Can't open mathtrans.library
  1082.  
  1083.      Standard  system  LIBS:  device   or   exec   libraries   list   lacks
  1084. mathtrans.library. Otherwise, the version found is older than 33.
  1085.  
  1086. ++ Error 15 Can't open mathffp.library
  1087.  
  1088.      There's no mathffp.library available. Should never occur and  is  only
  1089. there for the sake of consistency. Otherwise, the version  found  is  older
  1090. than 33.
  1091.  
  1092. ++ Error 16 Can't open icon.library
  1093.  
  1094.      Standard  system  LIBS:  device   or   exec   libraries   list   lacks
  1095. icon.library. Otherwise, the version found is older than 33.
  1096.  
  1097. ++ Error 17 Can't open layers.library
  1098.  
  1099.      There's no layers.library available. Should never occur  and  is  only
  1100. there for the sake of consistency. Otherwise, the version  found  is  older
  1101. than 33.
  1102.  
  1103. ++ Error 18 Can't open intuition.library
  1104.  
  1105.      There's no intuition.library available.  Should  never  occur  and  is
  1106. only there for the sake of consistency. Otherwise,  the  version  found  is
  1107. older than 33.
  1108.  
  1109. ++ Error 19 Can't open console.device
  1110.  
  1111.      There's no console.device available. Should never occur  and  is  only
  1112. there for the sake of consistency.
  1113.  
  1114. ++ Error 100 Out of memory
  1115.  
  1116.      Not  enough   memory   available.   JukeBox   allocates   its   memory
  1117. dynamically. So, there might be no memory  for  a  given  operation,  while
  1118. there is sufficiant memory for another. 
  1119.  
  1120. ++ Error 101 Not added, label already exists (line #<number>)
  1121.  
  1122.      A disc ID number (MCN) already exists. One ID may be added  only  once
  1123. to the catalog by issuing the "Append" command.
  1124.  
  1125. ++ Error 102 ASL- or ARP-library not available
  1126.  
  1127.      There's  no  arp.library  (AmigaOS  1.3  and  below)  or   asl.library
  1128. (AmigaOS 2.x and above) available to bring up a file  requester.  The  name
  1129. is prompted by a simple string-requester then. 
  1130.  
  1131. ++ Error 103 No parent entry found for link (line #<number>)
  1132.  
  1133.      Attempt to link a disc  ID  to  a  nonexistant  catalog  entry  failed
  1134. because there's no such catalog entry in the catalog file. (See  "aliasing"
  1135. in the catalog format description above) 
  1136.  
  1137. ++ Error 104 Media change interrupts not supported
  1138.  
  1139.      The selected device driver (#?.device) doesn't implement  TD_CHANGEINT
  1140. and (gratefully!) responds with a value other than zero to the  appropriate
  1141. I/O operation. Thus, changeints can't be used and  shouldn't  be  requested
  1142. furthermore (just change CHANGEINT tooltype to zero). Warning: Some  device
  1143. drivers might actually claim to understand  changeints,  but  can't  really
  1144. handle them correctly. Be aware of this, it may cause severe problems!
  1145.  
  1146. ++ Error 40 SCSI error: HFERR_SelfUnit
  1147. ++ Error 41 SCSI error: HFERR_DMA
  1148. ++ Error 42 SCSI error: HFERR_Phase
  1149. ++ Error 43 SCSI error: HFERR_Parity
  1150. ++ Error 44 SCSI error: HFERR_SelTimeout
  1151. ++ Error 45 SCSI error: HFERR_BadStatus
  1152.  
  1153.      These are specific SCSI-error numbers returned by  the  device  driver
  1154. upon startup. Possibly, the drive is connected/terminated the wrong way  to
  1155. the host adapter or doesn't conform correctly to HD_SCSICMD. During  normal
  1156. program operation, SCSI errors are displayed on the main  display  and  the
  1157. title name field (no requesters, since they might occur heavily).
  1158.  
  1159. Supported drives
  1160. ----------------
  1161.  
  1162.      As of this writing, this program was developed  for  and  tested  with
  1163. NEC CDR-83, CDR-84, NEC CDR-36 and the TOSHIBA  XM-3301B  CD-ROM  (firmware
  1164. v5.1) player devices. Other devices might be easily adapted as well.  There
  1165. is an internal communication protocoll (a vendor specific  player  "module"
  1166. concept) provided to archive this, as well as there are means  to  add  new
  1167. player modules externally.  For  example,  the  adaption  for  the  TOSHIBA
  1168. player device was done in one single day! Just give me a test unit and  the
  1169. appropriate scsi docs, and there's no reason why we shouldn't  be  able  to
  1170. support it.
  1171.  
  1172. Localization
  1173. ------------
  1174.  
  1175.      There are currently two foreign localizations available, a french  one
  1176. and  a  german  one,  both  done  by  native  speakers  of  the  particular
  1177. languages.
  1178.  
  1179. Compatibility
  1180. -------------
  1181.  
  1182.      This program was developed on an softkicked A3000 using SAS/C 6.2  and
  1183. AmigaOS 3.0 (V39). Much efforts had been taken to ensure  compatibility  to
  1184. any other version of AmigaOS. It was tested for 1.2 (33.180),  1.3  (34.5),
  1185. A2024 Jumpstart disk, 2.04 (37.175 ROM, workbench 2.1 and  locale.library).
  1186. It should run on any amiga equipped with at least 1.2  ROM,  512K  of  chip
  1187. memory (when using 1.3 and below, 2.0 requires 1M of chip memory),  a  scsi
  1188. host adapter able to deal with HD_SCSICMD and a CD-ROM  player  device,  of
  1189. course.  ARexx  version  1.15  is  required  to  make  use  of  the   macro
  1190. capabilities provided by the built-in ARexx  command  interpreter.  It  was
  1191. tested on A1000, A2000, A3000 and A4000.
  1192.  
  1193. Credits
  1194. -------
  1195.  
  1196.      My thanks have to go to my excellent beta testers for  their  efforts,
  1197. first of all to Ralph Babel for his  invaluable  support,  suggestions  and
  1198. many enhancement requests during development. I would also  like  to  thank
  1199. Torsten Blum for excessive stress-testing, improving the catalog  file  and
  1200. ensuring compatibility to GVP host adapters  before  bothering  Ralph  with
  1201. non-working betas :-). Thanks to Pius Nippgen  for  borrowing  his  Toshiba
  1202. drive, René  Beaupoil  of  Amiga  Plus  magazine,  Christian  Wallasch  and
  1203. Andreas Witte of W&W Munich for the NEC  drive  and  documentation,  Jörgen
  1204. Klein of Toshiba Europe disc  product  division  for  the  Toshiba  drive's
  1205. docs. Also thanks to Armin Sparr of software brewery for  contributing  the
  1206. catalog strings of his CD collection. Special thanks have to  go  to  Jean-
  1207. Michel  Forgeas  of  software  winery,  who   did   an   excellent   french
  1208. localization.
  1209.  
  1210.  
  1211. --- END OF DOCUMENT ---
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.